Module 6
Full Stack React
So far in this course, we've been dealing with React exclusively on the client. In this module, we're going to look at building full-stack web apps with React.
This is a particularly exciting time to be learning about this stuff. The React team has been quietly working for years on a number of advanced full-stack features (eg. Suspense, React Server Components), and they're finally ready to use.
As I write this in the summer of 2023, there's only one way to take advantage of all the new stuff, and that's to use Next.js.
Next.js (opens in new tab) (or simply Next, as it's often called) is a full-stack React meta-framework created and maintained by Vercel (opens in new tab). It was originally released in 2016, and pioneered a lot of things that have since become common in meta-frameworks, like file-based routing.
Over the past couple of years, as the React team has been reimagining how React could work in a full-stack context, Vercel has decided to become an active participant in the process. They essentially rebuilt Next from the ground up, to be based around the next-gen React features. They've even hired several React core team members, like Andrew Clark (opens in new tab) and Sebastian Markbåge (opens in new tab).
As a result, Next.js is currently the most modern React meta-framework. Using Next is like getting a glimpse into the future of React. And I have to say, it's pretty amazing. 😮
All of that said, this isn't a Next.js course. For the most part, we're going to focus on the core React features, and use Next as the “setting”, the environment in which we access those features. Ultimately, you'll still learn how to build a full-stack application using Next, but we won't cover everything that Next has to offer.
Right now, Next.js is the only game in town that supports modern React features, but it won't stay that way forever. Other meta-frameworks will catch up, and brand-new ones (like Waku (opens in new tab)) will pop up. I want the skills you learn in this module to be transferrable!
I'm exceptionally excited to show you this stuff. So many new doors open when we can introduce a server into the mix. And you'll be learning the most bleeding-edge version of all this stuff; very few React developers understand what you'll understand by the end of this module. 😄